Hybris UX Api
TMF639 - getLogicalResource & getLogicalResourceById
List & Retrieve Logical Resource
List Logical Resource:
- List Available ESIM(ICCID) Numbers (Prepaid & Postpaid)
- List Available Service(MSISDN) Numbers (Prepaid & Postpaid)
Retrieve Logical Resource:
- Retrieve Status of ESIM(ICCID) Numbers
- Retrieve Status of Service(MSISDN) Numbers
URL
http://[localhost]:[port]/ecom-ux/v1/{businessId}/logicalResource
http://[localhost]:[port]/ecom-ux/v1/{businessId}/logicalResource/{id}
URL PARAMS
name | type | description | required |
---|---|---|---|
businessId | String | 2 letter ISO 3166 country code (PA) identifying the business unit. | Y |
id | String | Defines the unique ESIM(ICCID) or Service(MSISDN) Number | Y |
Headers
name | type | description | required |
---|---|---|---|
client-id | String | The client-id identifying the channel. | Y |
client-secret | String | Password associated with the client-id. | Y |
X-Correlation-ID | String | Identifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction. | N |
Query Params
name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A) |
---|---|---|---|
@type | String | defines the entity name. Eg: "ESIM", "MSISDN" | Y (PA) |
place.id | String | Identification of the regional area code embedded within a service number. (numberAreaCode) | Y (PA only for MSISDN usecase) |
resourceStatus | String | Status of the resource , Possible Values: [reserved,available] | N (PA) |
value | String | Check the status of a single MSISDN number | N (PA only for MSISDN usecase) |
relatedParty.id | String | Represents the unique identifier of the Dealer Name. Eg: ECOM | Y (PA only for eSIM usecase) |
relatedParty.role | String | Name of the related entity Possible values for PA: DEALER | Y (PA only for eSIM usecase) |
resourceCharacteristic.name | String | Name of the characteristic Possible values for PA: SERVICE | N (PA for eSIM usecase & PREPAID MSISDN) |
resourceCharacteristic.value | String | Value of the characteristic Possible values for PA: POSTPAID, PREPAID | N (PA only for eSIM usecase & PREPAID MSISDN) |
limit | Integer | Requested number of resources to be provided in response | Y (PA only for eSIM usecase & PREPAID MSISDN) |
Data Model
Response Headers
name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A) |
---|---|---|---|
X-Total-Count | Integer | Actual number of items returned in the response body | Y (PA, List Logical Resource ESIM) |
Response Body
field name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A) |
---|---|---|---|
id | String | Identifier of an instance of the resource. Required to be unique within the resource type. | Y (PA) |
href | String | Hyperlink reference | Y (PA) |
@type | String | defines the resource name | Y (PA) |
resourceStatus | String | Status of the resource. Possible Values: [reserved,available] | Y (PA) |
resourceCharacteristic[].name | String | Name of the characteristic | Y (PA for POSTPAID eSIM usecase & both PREPAID usecase) |
resourceCharacteristic[].valueType | String | Data type of the value of the characteristic | Y (PA for POSTPAID eSIM usecase & both PREPAID usecase) |
resourceCharacteristic[].value | String | Value of the characteristic | Y (PA for POSTPAID eSIM usecase & both PREPAID usecase) |
relatedParty[].id | String | unique identifier | Y (PA for eSIM usecase) |
relatedParty[].role | String | Role played by the related party | Y (PA for eSIM usecase) |
relatedParty[].'@referredType' | String | The actual type of the target instance when needed for disambiguation | Y (PA for eSIM usecase) |
name | String | defines the resource name | Y (PA for PREPAID MSISDN usecase) |
description | String | description of the resource | Y (PA for PREPAID MSISDN usecase) |
operationalState | String | A resource operational state type such as enable, disable | Y (PA for PREPAID MSISDN usecase) |
note.text | String | Text of the note (extra information for the entity) | Y (PA for PREPAID MSISDN usecase) |
resourceRelationship[].relationshipType | String | Type of the resource relationship, such as " reliesOn" if the resource needs another already owned resource to rely on | Y (PA for PREPAID MSISDN usecase) |
resourceRelationship[].resource | object | Resource is an abstract entity that describes the common set of attributes shared by all concrete resources. | Y (PA for PREPAID MSISDN usecase) |
resourceRelationship.resource.id | String | Identifier of an instance of the resource. | Y (PA for PREPAID MSISDN usecase) |
resourceRelationship.resource.href | String | Hyperlink reference | Y (PA for PREPAID MSISDN usecase) |
resourceRelationship.resource.description | String | description of the resource | Y (PA for PREPAID MSISDN usecase) |
resourceCharacteristic subResource -Data Model
field name | type | description | required (mandatory-Y, optional-N,conditionallyMandatory-C/M, Not applicable- N/A) | examples |
---|---|---|---|---|
resourceCharacteristic[].name == "IMSI" | String | International Mobile Subscriber Identity, a unique identifier for a eSIM card. | Y (PA for eSIM usecase) | PA: { "name":"IMSI", "valueType":"string", "value":"71401100786000" } |
resourceCharacteristic[].name == "PIN1" | String | Personal Identification Number used to lock the eSIM card for security. | Y (PA for eSIM usecase) | PA: { "name":"PIN1", "valueType":"string", "value":"6012" } |
resourceCharacteristic[].name == "PIN2" | String | Secondary PIN used for specific eSIM-related operations, like managing services. | Y (PA for eSIM usecase) | PA: { "name":"PIN2", "valueType":"string", "value":"2802" } |
resourceCharacteristic[].name == "PUK1" | String | Personal Unblocking Key used to unblock the eSIM after multiple incorrect PIN1 attempts. | Y (PA for eSIM usecase) | PA: { "name":"PUK1", "valueType":"string", "value":"3177" } |
resourceCharacteristic[].name == "PUK2" | String | Personal Unblocking Key used to unblock the eSIM after multiple incorrect PIN2 attempts. | Y (PA for eSIM usecase) | PA: { "name":"PUK2", "valueType":"string", "value":"3177" } |
resourceCharacteristic[].name == "prepaidInd" | String | Indicates whether the eSIM card is for a prepaid service (True/False). | Y (PA for eSIM usecase) | PA: { "name":"prepaidInd", "valueType":"boolean", "value": false } |
resourceCharacteristic[].name == "ACTIVATION-CODE" | String | A code used to activate the eSIM card for use with the network. | Y (PA for eSIM usecase) | PA: { "name":"ACTIVATION-CODE", "valueType":"string", "value": "1$sm-v4-099-a-gtm.pr.go-esim.com$0AFD51373501277C842B5B396BF73B87" } |
resourceCharacteristic[].name =="KI" | String | retrieving sim info | Y (PA for PREPAID eSIM usecase) | PA: { "name": "KI", "valueType": "String", "value": "07966D60F2195B3C2D4A8A36186E92BF" } |
resourceCharacteristic[].name =="SIM-PROVID" | String | retrieving sim info | Y (PA for PREPAID eSIM usecase) | PA: { "name": "SIM-PROVID", "valueType": "String", "value": "05.06" } |
resourceCharacteristic[].name =="PREPAID-DEALER" | String | Indicates the name or type of dealer originally associated with prepaid activation | Y (PA for PREPAID eSIM usecase) | PA: { "name": "PREPAID-DEALER", "valueType": "String", "value": "ECOM" } |
resourceCharacteristic[].name =="SERVICE" | String | Indicates whether the current service is Prepaid or Postpaid | Y (PA for PREPAID eSIM & MSISDN usecase) | PA: { "name": "SERVICE", "valueType": "String", "value": "PREPAID" } |
resourceCharacteristic[].name =="DataType" | String | Specifies the type of data plan associated with the number | Y (PA for PREPAID MSISDN usecase) | PA: { "name": "DataType", "valueType": "string", "value": "PREPAID" } |
resourceCharacteristic[].name =="MED-ACTION" | String | an attribute of the Border Gateway Protocol (BGP), to influence how a neighboring network routes incoming traffic. | N (PA for PREPAID MSISDN usecase) | PA: { "name": "MED-ACTION", "valueType": "string", "value": "PIPRE" } |
resourceCharacteristic[].name =="PORT-STATUS" | String | Status of the port | N (PA for PREPAID MSISDN usecase) | PA: { "name": "PORT-STATUS", "valueType": "string", "value": "PI-COMPLETE" } |
resourceCharacteristic[].name =="SERVICE-ORIGINAL" | String | Indicates the original service type at the time of provisioning or activation | N (PA for PREPAID MSISDN usecase) | PA: { "name": "SERVICE-ORIGINAL", "valueType": "string", "value": "POSTPAID" } |
resourceCharacteristic[].name =="TERTIO-DATETIME" | String | A telecommunications service activation and provisioning software with standard date time. | N (PA for PREPAID MSISDN usecase) | PA: { "name": "TERTIO-DATETIME", "valueType": "string", "value": "23/09/2024 20:57:58" } |
resourceCharacteristic[].name =="SDP" | String | Indicates the Service Data Point (SDP) responsible for service management or rating | Y (PA for PREPAID MSISDN usecase) | PA: { "name": "SDP", "valueType": "string", "value": null } |
resourceCharacteristic[].name =="PortDetails" | String | It provides details of the port such as port type, foreign number status, and previous service provider | Y (PA for PREPAID MSISDN usecase) | PA: { "name": "PortDetails", "valueType": "object", "value": [] } |
resourceCharacteristic[].name=='PortDetails' subResource - Data Model
field name | type | description | required (mandatory-Y, optional-N, conditionallyMandatory-C/M, Not applicable- N/A) | examples |
---|---|---|---|---|
resourceCharacteristic[].value[].name=="portOldSp" | String | The old service provider ID or code | Y (PA for PREPAID MSISDN usecase) | PA: { "name": "portOldSp", "valueType": "string", "value": "999" } |
resourceCharacteristic[].value[].name=="portType" | String | Indicates the type of port | Y (PA for PREPAID MSISDN usecase) | PA: { "name": "portType", "valueType": "string", "value": "PortIn" } |
resourceCharacteristic[].value[].name=="foreignNumber" | String | Indicates whether this number is native to the service provider or belongs to another provider. | Y (PA for PREPAID MSISDN usecase) | PA: { "name": "foreignNumber", "valueType": "boolean", "value": "Y" } |
Keyconsiderations
GET/logicalResource
PA Implementation
MSISDN Usecase
**POSTPAID**
- For MSISDN usecase applicable queryParams are: @type, place.id, resourceStatus, value.
- To retrieve available service numbers (MSISDN), set '@type' to "MSISDN" and pass valid place.id value.
- To retrieve reserved service numbers (MSISDN), set 'resourceStatus" to 'reserved' and pass valid MSISDN number in 'value' field.
- To get available service numbers 'resourceStatus' queryparam is optional.
- To get available serviceNumbers (MSISDN), refer to below sample example:
response - "PA_listAvailable_serviceNumber_Response" in API specification
**PREPAID**
- For MSISDN usecase applicable queryParams are: resourceStatus, resourceCharacteristic.name, resourceCharacteristic.value, limit.
- To retrieve available MSISDN numbers, set the resourceStatus to "Active".
- If we need to retrieve 'PREPAID' MSISDN numbers we need to pass resourceCharacteristic.name == "SERVICE" and resourceCharacteristic.value == "PREPAID".
- limit should be mandatory and greater than or equals to 1.
- The list of resourceCharacteristics in the response varies based on the userDataType, userDataValue fields retrieved in userDataList from TNM system response.
ESIM Usecase
- This is implemented for mobile postpaid & prepaid customers
- For ESIM usecase applicable queryParams are: @type, resourceStatus, relatedParty.id, relatedParty.role, resourceCharacteristic.name, resourceCharacteristic.value, limit.
- To retrieve available eSIM numbers (ICCID), set '@type' to "ESIM".
- relatedParty[].id and relatedParty[].role are mandatory fields when '@type' equals to "ESIM".
- To retrieve available eSIM numbers (ICCID), set the resourceStatus to "available".This queryparam is optional, By default value "available" will be set.
- If we need to retrieve 'POSTPAID' eSIM numbers we need to pass resourceCharacteristic.name == "SERVICE" and resourceCharacteristic.value == "POSTPAID" else available eSIM numbers will be returned.
- If we need to retrieve 'PREPAID' eSIM numbers we need to pass resourceCharacteristic.name == "SERVICE" and resourceCharacteristic.value == "PREPAID" else available eSIM numbers will be returned.
- limit should be mandatory and greater than or equals to 1
- Dealer Code Configuration:
* Dealer code defines the pool of eSIMs allocated to each channel.
* Business must decide the dealer code.
* TNM must configure it for:
-> eCommerce – dealer code: "ECOM"
-> Super App – dealer code: TBD
- In Response these fields are mandatory - ResourceStatus, KI, IMSI,ICCID, PIN1, PUK1, PIN2, PUK2,ACTIVATION-CODE, SIM-TYPE,PREPAID-DEALER.
- To get available eSIM (ICCID), refer to below sample example:
response - "PA_listAvailable_eSIMNumber_Response" in API specification
GET/logicalResource/{id}
PA Implementation
MSISDN & ESIM Usecase
**PREPAID**
- For MSISDN usecase applicable queryParams are: '@type'.
- Expected values for '@type' are : 'ESIM' or 'MSISDN'.
- In response 'resourceStatus' is mandatory to identify the state of ESIM(ICCID) or Service(MSISDN) Number.
Note : For response examples please refer to this URL [Get LogicalResource Specification](https://anypoint.mulesoft.com/exchange/portals/cable-and-wireless/c03653f5-9c46-4e55-bf97-5cef1442bfbf/ecom-ux/minor/1.0/console/method/%2338030/)